module.exports = app => {
    const { router, controller } = app;

    router.get('/api/pub/member/weAppLife', controller.member.weAppLife);

    router.get('/api/pub/member/initUserFilterInfo', controller.member.initUserFilterInfo);
    router.get('/api/pub/member/initUserSearchInfo', controller.member.initUserSearchInfo);
    router.get('/api/pub/member/initMemberInfo', controller.member.initMemberInfo);

    router.get('/api/pub/member/wxSession/:code', controller.member.getWeiXinUserSession);
    router.get('/api/pub/member/wxPhoneNumber', controller.member.getWeiXinPhoneNumber);

    router.post('/api/pub/member/verifyCode', controller.member.sendVerifyCode);
    router.post('/api/pub/member/register', controller.member.memberRegister);
    router.post('/api/pub/member/login', controller.member.memberLogin);
    router.post('/api/pub/member/wxLogin', controller.member.wxLogin);
    router.put('/api/pub/member/logout/user/:userId', controller.member.memberLogout);
    router.put('/api/pub/member/online/user/:userId', controller.member.updateMemberOnlineState);

    router.get('/api/pub/member/userInfo/:userId', controller.member.getMemberDetailById);
    router.get('/api/pub/member/userList', controller.member.getMemberList);
    router.get('/api/pub/member/userMate/:userId', controller.member.getMemberMate);

    router.put('/api/pub/member/editUserInfo/:userId', controller.member.editMemberInfo);
    router.put('/api/pub/member/editUserOther/:userId', controller.member.editMemberOther);
    router.put('/api/pub/member/editUserMate/:userId', controller.member.editMemberMate);

    router.get('/api/pub/member/friendInfo/targetUser/:targetUserId/user/:userId', controller.member.getFriendMember);
    router.get('/api/pub/member/friendSimple/targetUser/:targetUserId/user/:userId', controller.member.getFriendSimpleById);
    router.get('/api/pub/member/memberRelation/user/:userId/targetUser/:targetUserId', controller.member.getMemberRelation);
    router.post('/api/pub/member/bindRelation/user/:userId/targetUser/:targetUserId', controller.member.addMemberRelation);
    router.delete('/api/pub/member/removeRelation/:relationId', controller.member.removeMemberRelation);

    router.get('/api/pub/member/memberRelationList/user/:userId', controller.member.getMemberRelationList);
    router.get('/api/pub/member/memberRelationList/targetUser/:targetUserId', controller.member.getMemberFollowedList);
    router.get('/api/pub/member/memberLookForList/user/:userId', controller.member.memberLookForList);
    router.get('/api/pub/member/memberLookForList/targetUser/:targetUserId', controller.member.memberLookMeList);

    router.get('/api/pub/member/photoList/user/:userId', controller.member.getMemberPhotoList);
    router.delete('/api/pub/member/deletePhoto', controller.member.deleteMemberPhoto);
    router.get('/api/pub/member/identity/user/:userId', controller.member.getMemberIdentity);
    router.delete('/api/pub/member/deleteIdentity', controller.member.deleteMemberIdentity);

    router.get('/api/pub/member/userAllInfoList', controller.member.getMemberAllInfoList);
    router.get('/api/pub/member/verifyApplyList', controller.member.getVerifyApplyList);

    router.get('/api/pub/member/verifyState/user/:userId', controller.member.getUserVerifyState);
    router.put('/api/pub/member/verify/user/:userId', controller.member.setMemberVerifyState);

    router.post('/api/pub/member/createComplaint/user/:userId/targetUser/:targetUserId', controller.member.createMemberComplaint);
    router.put('/api/pub/member/verifyComplaint/:complaintId', controller.member.verifyMemberComplaint);
    router.get('/api/pub/member/complaintState/user/:userId', controller.member.getMemberComplaintState);
    router.get('/api/pub/member/complaintList', controller.member.getMemberComplaintList);
    router.get('/api/pub/member/verifyMessage/user/:userId', controller.member.getMemberVerifyMessage);

    router.post('/api/pub/member/addLabels/user/:userId', controller.member.addMemberLabelList);
    router.get('/api/pub/member/labelList/user/:userId', controller.member.getMemberLabelList);

    router.post('/api/pub/member/sendCoupleInvite/user/:userId/targetUser/:targetUserId', controller.member.sendCoupleInvite);
    router.post('/api/pub/member/receiveCoupleInvite/user/:userId/targetUser/:targetUserId', controller.member.receiveCoupleInvite);
    router.get('/api/pub/member/receiveCoupleInviteList/user/:userId', controller.member.receiveCoupleInviteList);
    router.get('/api/pub/member/sendCoupleInviteList/user/:userId', controller.member.sendCoupleInviteList);
    router.get('/api/pub/member/checkCoupleBindStatus/user/:userId', controller.member.checkCoupleBindStatus);
    router.get('/api/pub/member/checkTargetCoupleInvite/user/:userId/targetUser/:targetUserId', controller.member.checkTargetCoupleInvite);
    router.get('/api/pub/member/getCoupleMemberInfo/user/:userId/targetUser/:targetUserId', controller.member.getCoupleMemberInfo);
    router.put('/api/pub/member/cancelCoupleInvite/user/:userId/targetUser/:targetUserId', controller.member.cancelCoupleInvite);
    router.put('/api/pub/member/rejectCoupleInvite/user/:userId/targetUser/:targetUserId', controller.member.rejectCoupleInvite);
    router.put('/api/pub/member/releaseCoupleRelation/user/:userId/targetUser/:targetUserId', controller.member.releaseCoupleRelation);
    router.get('/api/pub/member/getCoupleInviteCount/user/:userId', controller.member.getCoupleInviteCount);

    router.get('/api/pub/member/syncUserData/user/:userId', controller.member.syncUserData);
};